It is common to use passwords to allow users to access computer systems and data records. More recently, many services provided via the World-Wide-Web (the Web) also authenticate access with passwords. The use of passwords for access protection is so pervasive that it is not unusual for a user to have to remember a large number of different passwords.
Because of the large number of passwords that one might need to have, many users choose memorable passwords, which are easy to guess. A sophisticated imposter using automated schemes can easily "try" millions of common password variations in a matter of minutes. Because users often use the same password for many services, if the user's password for a particular service is disclosed, then the password could be used to access other accounts. In particular, the owners or administrators of one service could use the user's password to access the user's other accounts. In addition, for services that are accessed by many users, user names based on common names, e.g., "johnsmith," are quickly used up.
The problems with passwords are well known, and there have been a number of proposed replacements for passwords, in particular, schemes based on sophisticated cryptographic techniques or biometric identification, see Schneier, "Applied Cryptography." In some cases, these approaches can provide adequate security at the expense of requiring fundamental changes in how authentication systems operate.
Currently, an "Open Profiling Specification" is being considered by the Platform for Privacy Preferences (P3) project of the W3C. This specification may eventually provide a solution to the problem of password authentication on the Web, although the present efforts of the Open Profiling work concentrate on the exchange of user preferences between browser and server computers.
One could use Open Profiling for managing user passwords, and protecting the passwords from access by inappropriate servers. In all cases, Open Profiling requires awareness and cooperation by browsers and servers, so it cannot be used with current software. Moreover, Open Profiling requires access to a user-specific profile, which users will need to either fetch from a server or carry with them. Fetching over a network may not always be quick or possible, e.g., the profile may be behind a firewall or the network may be partitioned. Carrying the profile may be inconvenient or unsafe, since it may require use of floppy disks, smart-cards, or other auxiliary hardware.
Therefore, it is desired to provide a scheme in which the user is not required to remember many different passwords.